/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

import Controlador.Rentable;
import Controlador.Construccion;
import Vista.Grafico;
import java.awt.Image;
import java.awt.MediaTracker;
import java.io.*;
/**
 *
 * @author WalteR
 */
               /* ============ LISTA GOBIERNOS ============ */
/*		Parlamento - Mansion - Palacio - Intendencia		*/

public abstract class Gobierno extends Construccion implements Rentable, Serializable {

        private int estado ;  // si el estado es 0 quiere decir que ya producio si es 1 quiere decir que esta produciendo
	private int tiempoInicio ;
        public abstract char getSimbolo() ;
        public abstract void recolectar() ;
        public abstract Image getImagen();
        public abstract int getLongx();
        public abstract int getLongy();
//        private String nombreAmigo;
        public static Image imagen;
        public static void cargar(){
            MediaTracker mt = new MediaTracker( Grafico.applet ) ;
            imagen=Grafico.applet.getImage(Grafico.applet.getCodeBase(),"Imagenes\\Gobierno.png");
            mt.addImage(imagen,0);
            try {
                mt.waitForAll();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            Parlamento.cargar();
            Mansion.cargar();
            Palacio.cargar();
            Intendencia.cargar();
        }
        public Gobierno() {
            estado = -1 ;
            tiempoInicio = 0 ;
        }

        public int getEstado(){ return estado ; }
        public void setEstado(int estado){ this.estado = estado ;}
	public int getTiempoInicial(){return tiempoInicio ;}
        public void setTiempoInicio(int tiempo){this.tiempoInicio = tiempo ;}

        abstract public void contratar(Amigo amigo);
        public static void mostrarGobierno(){
            System.out.print("[1] Parlamento ");
            System.out.println(" Precio: " + Parlamento.precio[0] + " Nivel requerido: " + Parlamento.nivelRequerido);
            System.out.print("[2] Mansion Presidencial ");
            System.out.println(" Precio: " + Mansion.precio[0] + " Nivel requerido: " + Mansion.nivelRequerido);
            System.out.print("[3] Palacio ");
            System.out.println(" Precio: " + Palacio.precio[0] + " Nivel requerido: " + Palacio.nivelRequerido);
            System.out.print("[4] Super Intendencia ");
            System.out.println(" Precio: " + Intendencia.precio[0] + " Nivel requerido: " + Intendencia.nivelRequerido);
        }
        
}

